package hee;

public class J17StringMath {

	public static void main(String[] args) {
		
		//String
		String a="Hello";
		String b="Java";
		String c="Hello";
		
		System.out.println(
		System.identityHashCode(a));
		    //identityHashCode : 
		System.out.println(
		System.identityHashCode(b));
		
		System.out.println(
				System.identityHashCode(c));
		
		//String
		//new연산자로 문자열 객체를 만들면
		//동일한 문자열값이 존재해도 매번 새로생성.
		
		String d=new String("Hello");
		
		String e=new String("Java");
		String f=new String("Java");

		System.out.println(System.identityHashCode(d));
				
		System.out.println(System.identityHashCode(e));
				
		System.out.println(System.identityHashCode(f));
		
		
		 //String 주요 메소드
	    String jumin="123456-1234567";
	    //1.charAt : 지정한 위치의 문자하나를 추출
	    
	    System.out.println(jumin.charAt(8));  //char , 문자하나
	    if(jumin.charAt(7)=='1')
	    	System.out.println("당신은 남자이군요");
	    
	    //2.substring : 문자열에서 시작위치부터 끝 위치전까지 문자(들 )추출
	    System.out.println(jumin.substring(7));
	    System.out.println(jumin.substring(0,2)); //substring : 특정문자 자리수 출력할때
	    int yourYear=Integer.parseInt (jumin.substring(0,2));  //Integer.parseInt:문자열을 숫자로 바꾸기
	    System.out.println(2014-yourYear +1);
	    
	    //3.length : 문자열길이 출력
	    System.out.println(jumin.length());
	    
	    //4. split : 문자열을 구문자로 분리해서 배열에 담음
	    String zipcode = "123-456 서울 광진구 자양동 321-456";  	     
	    //substring 사용해도 되지만 
	    //두자인 이름 출력할때 split 사용해야 (중요, 주소 각각 잘라서 배열로 해줘야 함.) 
	    String[]zip= zipcode.split(" ");   //구분자, 빈칸(" ") 넣어줘야 함.
	    System.out.println(zip[0]);
	    System.out.println(zip[1]);
	    System.out.println(zip[2]);
	    System.out.println(zip[3]);
	    System.out.println(zip[4]);

	    
	    //5.replace : 글자바꿀때 사용(문자열중 기존 문자열을 새로운 문자열로 교체)
	    
	    String msg="사랑해요,Java!!";
	    msg=msg.replace("Java", "HTML5");
	    System.out.println(msg);
	    
	    //6.indexOf:먼저 나온놈 카운트 할건지
	    System.out.println(jumin.indexOf('-'));  //123456-1234567 에서 -6번째 출력
	    //7.lastIndexOf:
	    System.out.println(jumin.indexOf('6'));
	    System.out.println(jumin.lastIndexOf('6')); //뒤에 나오는 6에 위치 읽을것인지 
	    

	    //Math 주요 메서드
	    //1.round : 반올림
	    System.out.println(Math.round(9.1));
	    System.out.println(Math.round(9.7));
	    System.out.println(Math.round(-9.1));
	    System.out.println(Math.round(-9.7));
	    
	    //2.ceil : 무조건 올림
	    System.out.println(Math.ceil(9.1));
	    System.out.println(Math.ceil(9.7));
	    System.out.println(Math.ceil(-9.1));
	    System.out.println(Math.ceil(-9.7));
	    
	    //3.floor : 무조건 내림, 버림
	    System.out.println(Math.floor(9.1));
	    System.out.println(Math.floor(9.7));
	    
	    System.out.println(Math.floor(-9.1));
	    System.out.println(Math.floor(-9.7));
	    
	}
                             
}

//결과

//10378355
//13078969
//10378355
//3154093
//28399250
//27959193
